﻿#define _CRT_SECURE_NO_WARNINGS 1
// 原题连接：https://ac.nowcoder.com/acm/problem/227310
/*
题目描述：
链接：https://ac.nowcoder.com/acm/problem/227310
来源：牛客网

牛妹是一个爱吃素的小女孩，所以很多素数都害怕被她吃掉。

一天，两个数字
𝑎
a和
𝑏
b为了防止被吃掉，决定和彼此相乘在一起，这样被吃掉的风险就会大大降低，但仍有一定的可能被吃掉，请你判断他们相乘后是否仍有被吃掉的风险。

也就是说，请你判断
𝑎
×
𝑏
a×b是否是素数。

素数是指大于
1
1的正整数中，有且仅有两个因子的数。
输入描述:
输入第一行是一个整数
𝑇
(
1
≤
𝑇
≤
10
)
T(1≤T≤10)，表示测试组数。

接下来
𝑇
T行，每一行两个整数
𝑎
,
𝑏
(
1
≤
𝑎
,
𝑏
≤
1
0
11
)
a,b(1≤a,b≤10
11
 )。
输出描述:
对于每一行输入，若输入满足
𝑎
×
𝑏
a×b是素数，输出一行"YES"，否则输出一行"NO"（没有引号）。
示例1
输入
复制
3
2 3
1 7
1 4
输出
复制
NO
YES
NO
*/

// 开始解题：
// 方法——数学
#include <iostream>
#include <cmath>
using namespace std;
bool isprime(long long x) {
    if (x < 2) {
        return false;
    }
    for (int i = 2; i <= sqrt(x); i++) {
        if (x % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    int t = 0;
    scanf("%d", &t);
    long long a = 0, b = 0;
    while (t--) {
        scanf("%lld%lld", &a, &b);
        if (a > 1 && b > 1) {
            printf("NO\n");
        }
        else if (a > 1 && b == 1) {
            if (isprime(a)) {
                printf("YES\n");
            }
            else {
                printf("NO\n");
            }
        }
        else if (a == 1 && b > 1) {
            if (isprime(b)) {
                printf("YES\n");
            }
            else {
                printf("NO\n");
            }
        }
        else {
            printf("NO\n");
        }
    }
    return 0;
}